home *** CD-ROM | disk | FTP | other *** search
- u
-
- Interview with Nightlord Commodore 64
- programmer
-
- CONTINUED FROM PART 1
-
- CF. Can C=++ make use of external
- commodore hardware for example the SCPU
- or CMD Ram link?
-
- NL: Well the compiler generates 6502
- code. I have no idea how RamLink
- works. The resulting code will of
- course run on a SCPU but won't be able
- to use the extended SCPU commands.
-
- CF. Would you consider extending the
- language to support further hardware?
-
- NL: If you mean support for SCPU as in
- the "compiled programs can use SCPU
- features or its bigger address space",
- it might be possible to do relatively
- easily. Although I must say I do not
- see a huge demand from the thousands
- of SCPU developers out there.
-
- If you mean supporting other CPUs like
- Z80 or 68000, it is not as easy. I do
- not consider doing it.
-
- Finally if you mean supporting the
- compiler itself to run on a Commodore
- machine, than I can confidently answer
- "no". Parsing C++ code and generating
- binaries on Commodore is something I
- will not try to do.
-
- CF. is the C= ++ source code available
- for download? if so where? if not,
- will it be available?
-
- NL: Yes it is under GNU GPL license.
- It will be available in the official
- Cepp site
-
- www.cepp.nightnetwork.org
-
- The site will open by the end of July
- at CommVex 2008.
-
- CF. Will the Code be open source and
- therefore free to modify?
-
- NL: Yes. The code will be released
- Inline with GNU GPL license agreement.
-
- CF. You have produced a Tetris clone
- with C= ++ will this Tetris clone be
- released as a standalone application?
-
- NL: The Tetris clone (creatively named
- Cepptris) is a proof of concept that
- the compiler works. I will probably
- put it somewhere in the web site as
- well as CSDB but it should not be
- considered a game really. It is an
- example for other people to look at.
- Especially an example of how C=++ code
- and asm code are used together.
-
- CF. Taking the Tetris clone you
- created in C=++ how long did this take
- to create in C=++ and how long would
- the same version take using Assembler?
-
- NL: Hmm it is hard to answer exactly
- but I think it took about 5-6 hours to
- write Cepptris including the C=++ and
- assembler parts. Since it has no
- graphics or sound it was a very short
- project. Had I written it in assembler
- I guess it would take somewhere in
- 12-14 hours for me. But keep in mind
- these numbers and ratios apply to me.
- Someone else might be more fluent in
- assembler and less comfortable with
- C=++ and actually take longer to write
- with C=++. It also depends on the
- unique types of problems in the
- particular game. Tetris does not
- really have some of the problems that
- really inspired me to make the
- compiler in the first place. A real
- time strategy game has those problems
- but is too big a project to choose as
- a quick proof of concept project for
- my compiler.
-
- CF. You mentioned in a demo at
- Mossycon that you would think C=++
- would be used for the logic code in a
- game and assembler for the speed
- intensive part so you would use C=++
- to build the artificial intelligence
- is this still how you see the language
- being used?
-
- NL: Yes the main areas I see for the
- language usage are AI, logic and
- dynamic memory management areas. It
- might potentially be useful in various
- utilities or non-game applications if
- some UI widget libraries get
- developed. I hope this will happen as
- it is easy to write a widget library
- or a graphic library and provide a C++
- interface to it. In other words it is
- easy to write some assembly code and
- make it look like C++ classes to your
- C=++ code.
-
- So people could write a UI framework
- that has forms and buttons and edit
- boxes etc. and others could than
- quickly code utilities or even
- diskmags using those framework
- libraries. So in a wonderful world
- this could increase the reusability of
- code in the Commodore world & improve
- the efficiency & collaboration of
- programmers. In the real world this
- might be me hugging a tree. Another
- area I can see the language being used
- is some certain demo effects where
- there are particle systems or the like
-
- CF. What sort of programmer are you,
- for example have you purely created
- demos?
-
- NL: In the Commodore world, I have
- only released demos until now. So I am
- a demo coder yes. I have unfinished
- game projects in the queue too. I have
- done a few graphics and music releases
- as well. I guess I am OK as a musician
- and showing some minimal promise as a
- graphical artist as well because
- people do not go and puke after being
- exposed to my work.
-
- CF. Do you have a favourite Demo or
- application?
-
- NL: I have many favourite demos: Tower
- Power/Camelot, Soiled Legacy/Resource,
- Krestology/Crest, Dawnfall/Oxyron,
- Mathematica/Reflex, 100000 Light Years
- from Earth/Fairlight, Boogie
- Factor/Fairlight, Throckmorton
- Device/Triad and Living/Glance are a
- few that I recall right now.
-
- CF. What Commodore Demo or
- applications have you seen and thought
- WOW how is this done?
-
- NL: Again many... But I think the
- loudest I shouted and jumped from my
- seat ever was during the round vector
- object part in the demo Tower
- Power/Camelot back in 94. Another
- recent one was during Artefects/Plush
- in the landscape part.
-
- CF. Do you feel its acceptable to
- dissemble other code to learn how
- techniques were used?
-
- NL: In the C64 I think it is (I am not
- sure but I think it might be illegal
- for some PC programs to disassemble
- them). For C64 it is quite a good
- learning method. But how effective/
- possible it is really depends on the
- type of code you are looking at. For
- instance many raster effects in demos
- are easy to look & learn from since
- they always use the same registers in
- various ways. You can actually figure
- out what is happening there pretty
- easily. On the other hand it is not so
- easy to learn from a math based effect
- (like vectors or doom effects) since
- they are heavily optimized by the use
- of tables. So all you see is "ah here
- the coder reads some value from this
- table then adds it to another value
- from another table", as long as you do
- not know what calculations are turned
- into tables you do not understand much
- from that code. Off course it is a
- skill that some are better at than
- others. I am not very good at figuring
- out other people's code.
-
- Also from the ethics point of view it
- never hurts to publicly announce it in
- your own demo, if you have studied
- someone else's code. It is one of
- those small signs of respect you
- occasionally exchange among coders. A
- small nod if you will :)
-
- CF. Why has the C64 survived for so
- long?
-
- NL: Because of us... All of us. Those
- who still create software/hardware
- for it, those who still use it daily
- to take care of their stuff or for
- fun, and those who write, read and
- discuss about it. And I think for
- every kind of person on the Commodore
- scape the newer technologies have not
- completely replaced the fun or
- challenges we enjoy. For instance C64
- coders still enjoy the cycle counting
- challenge that you do not get to see
- in new platforms. The users still
- enjoy the personality & psychological
- tie they have with the machines that
- they never feel with the newer machines
- etc.
-
- CF. Do you think there is an area that
- the C64 has not be utilised to its
- fullest in, be it graphics, music,
- coding etc.?
-
- NL: Graphics & Music are fully open
- ended. There can be a zillion more
- music pieces made and there can still
- come a piece (most likely form Drax or
- Laxity :) )that will make you go
- "Wow". Same with the graphics. I can
- not really answer for coding. I have
- been an active demo coder only in the
- last few years & I do feel challenged
- & close to the limits of this machines
- power but it might very well be my own
- incompetency. You should really ask
- someone who has been breaking world
- records for decades. Someone like
- Crest/Crossbow. He might tell you
- whether he feels there is less space
- left to utilize compared to 15 years
- ago. Whether he feels if this is a
- moving target or not.
-
- CF. Finally Doom on the C64, is it
- feasible & would it be worth the
- effort?
-
- NL: Oh it is definitely feasible. At
- least I know I can do it using my
- already existing doom engine (well
- doom engine means the graphics engine
- here, not the game engine). I think it
- is worth the effort too. In fact I
- intend to do it sometime. But I must
- add that I would do a doom style game
- not the exact same "doom" as it would
- not be so much fun to me. I would
- rather design the levels the enemies
- and the overall game scenario uniquely
- instead of copying from Doom.
-
- COMMODORE FREE
- Pictures taken from Mossycon was
- recorded by Robert and available for
- purchase on 2 DVD-R in NTSC format,
- The pictures in this review were
- extracted from the video, you can
- contact Robert at:
-
- http://videocam.net.au/fcug/
-
-
-